Application Specific Integrated Circuits (ASICs) are customized, highly compact electronic devices commonly used in many consumer applications where a large number of sales may be used to offset initial development costs. By way of example, cellular telephones and digital cameras almost always employ at least one ASIC in order to perform a number of common functions, such as controlling displays, monitoring various control buttons and performing high speed processing that generally cannot be performed by a microcontroller.
Unfortunately, while an ASIC may be crafted to work with a particular set of peripherals, the manufacturers of electronic devices may often need to use a variety of suppliers for a given peripheral. For example, a manufacturer of digital cameras may need to use three separate suppliers of an M-by-N charge couple device (CCD) imaging array for a single camera model. While the various CCD imaging arrays may be identical in function and form, there may be subtle but substantial differences in other aspects of the CCDs, such as minute but critical differences in timing requirements. For instance, while a first CCD imaging array and a second CCD imaging array may be an exact match in their general form and functionality, the first CCD array may provide its analog output signals a few nanoseconds later than the second CCD imaging array. As a result, the use of the first CCD imaging array may introduce noise that, without some form of timing compensation, may cause a degradation of picture quality.
While different suppliers of electronic devices have used a variety of methods to achieve compensation of critical timing pulses, these methods tend to be analog in nature and therefore subject to substantial variations in performance over time, temperature and manufacturing process discrepancies.